帮我回答下下面两个C程序题嘛``````谢谢高手些

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:51:08
一。 按字母排序
请编写一个C语言程序,将若干字符串按字母顺序(由小到大)输出。
、程序要求如下:
1. 屏幕提示用户要输入数组的个数;
2. 从键盘输入N个字符串。
3. 对N个字符串进行排序
4. 将排序后的字符串输出到屏幕上。
二 出圈游戏
请用C语言编写一个程序,模拟出圈游戏。
游戏规则是:设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m的人出圈,剩余的人又形成一个圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。
现要求按出圈次序输出这n个人的名字。
一、程序要求如下:
1、输入参加游戏的人员姓名清单;
2、输入出圈数字m,输入起始位置s,注意计数和位置都是从1开始的;
3、按顺序输出依次出圈人的姓名。
有没更简单的做法啊~~???~?~?~?~??只用C语言基础知识的```第1题哈

呵呵,很想帮忙的,不过我困了,明天有空逛到这儿的话,我帮你坐坐哈

1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef char String[20];

int cmp(const void* a, const void* b)
{
return strcmp(*(String*)a, *(String*)b);
}
int main(void)
{
int n, i;
String* pstr = 0;
printf("input n:");
scanf("%d", &n);
pstr = (String*)malloc(n * sizeof(String));
for(i = 0; i < n; i++)
scanf("%s", *(pstr + i));
qsort(pstr, n, sizeof(String), cmp);
for(i = 0; i < n; i++)
printf("%s\n", *(pstr + i));
return 0;
}

2

http://zhidao.baidu.com/q?word=%D4%BC%C9%AA%B7%F2%BB%B7&ct=17&pn=0&tn=ikaslist&rn=10

第一题排序
可以用字符串循环扫描如果有就输出,叫什么排序我忘了,对maxn比较小的排序问题效率比较高,这里max